package com.gxa.entity.user;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.util.Date;
import java.util.List;

import lombok.Data;

/**
 * 菜单表
 * @TableName sys_menu
 */
@TableName(value ="sys_menu")
@Data
public class SysMenu implements Serializable {
    /**
     * 菜单/按钮ID
     */
    @TableId(value = "ID")
    private String id;

    /**
     * 上级菜单ID
     */
    @TableField(value = "PARENT_ID")
    private String parentId;

    /**
     * 菜单/按钮名称
     */
    @TableField(value = "NAME")
    private String name;

    /**
     * 菜单URL
     */
    @TableField(value = "PATH")
    private String path;

    /**
     * 权限标识
     */
    @TableField(value = "PERMISSION")
    private String permission;

    /**
     * VUE 组件名称  动态加载路由
     */
    @TableField(value = "COMPONENT")
    private String component;

    /**
     * 图标
     */
    @TableField(value = "ICON")
    private String icon;

    /**
     * 类型 0菜单 1按钮
     */
    @TableField(value = "TYPE")
    private String type;

    /**
     * 排序
     */
    @TableField(value = "SORT")
    private Long sort;

    /**
     * 状态：0-正常，1-不可用
     */
    @TableField(value = "STATUS")
    private String status;

    /**
     * 修改时间
     */
    @TableField(value = "CREATOR")
    private String creator;

    /**
     * 
     */
    @TableField(value = "CREATOR_NAME")
    private String creatorName;

    /**
     * 
     */
    @TableField(value = "CREATE_TIME")
    private Date createTime;

    /**
     * 
     */
    @TableField(value = "UPDATOR")
    private String updator;

    /**
     * 
     */
    @TableField(value = "UPDATOR_NAME")
    private String updatorName;

    /**
     * 
     */
    @TableField(value = "UPDATE_TIME")
    private Date updateTime;

    /**
     * 备注
     */
    @TableField(value = "REMARK")
    private String remark;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;



    /** 子菜单*/
    @TableField(exist = false)
    private List<SysMenu> children;

    /** 父菜单名称*/
    @TableField(exist = false)
    private String parentName;
}